package main
import "fmt"

func trace(s string) string{
  fmt.Println("entering:",s)
  return s
}
func un(s string){
  fmt.Println("leaving:",s)
}
func a(){
  defer un(trace("a"))
  fmt.Println("in a")
}
func b(){
  defer un(trace("b"))
  fmt.Println("in b")
  a()
}
func main(){
  b()
}
